package Com.itheima;

import java.util.HashMap;
import java.util.Map;

public class MapPractice {
    public static void main(String[] args) {
        Map<String,String> data= new HashMap<>();
        data.put("小李","A");
        data.put("小张","B");
        data.put("小王","C");
        data.put("小赵","D");
        data.put("小孙","B");
        data.put("小周","A");
        data.put("小吴","C");
        data.put("小郑","D");
        data.put("小李1","C");
        data.put("小李2","D");
        data.put("小李3","A");
        data.put("小李4","B");
        data.put("小李5","C");
        data.put("小李6","D");
        data.put("小李7","D");

        //调用方法统计
        count(data);


    }
    public  static void count(Map<String,String> data){
        /*
        1.创建一个新的Map集合，用来存储统计结果
        2.遍历data集合(key->value)
        3.根据value值，将value值当作key存储到新的集合中，
           如果A已经存在，那么A值+1；否则，创建A，A的值为1存储到新的map中
         4.遍历新的map集合，打印统计结果
         */

        Map<String,Integer> result=new HashMap<>();
        data.forEach((key,value)->{
//       3.将value值拿出来，将value（A）当作key存储到新的集合中，
//       4.如果A已经存在，那么A值+1；
//       5.否则，创建A，A的值为1存储到新的map中
//              //判断value是否在result中
            boolean containsKey = result.containsKey(value);
            if (containsKey){  //（存在）
                //获取value对应的值+1，重新存进去
                Integer oldcount = result.get(value);
                result.put(value,oldcount+1);
            }else {
                //不存在，将value存储到result中
                result.put(value,1);
            }
        });

        //6.遍历result集合
        result.forEach((value,count)->{
            System.out.println(value+"--"+count);
        });
    }
}
